package ziface

// 定义一个服务器接口
type IService interface {

	// 启动服务
	Start()

	// 停止服务
	Stop()

	// 运行服务器
	Serve()

	// 路由功能： 给当前的服务注册一个路由方法，供客户端的链接使用
	AddRouter(msgID uint32, router IRouter)

	// 获取当前server链接管理器
	GetConnManager() IConnManager

	// 注册OnConnStart 钩子函数的方法
	SetOnConnStart(func(connection IConnection))

	// 注册OnConnStop 钩子函数的方法
	SetOnConnStop(func(connection IConnection))

	// 调用 OnConnStart 钩子函数方法
	CallOnConnStart(connection IConnection)

	// 调用OnConnStop 钩子函数方法
	CallOnConnSop(connection IConnection)
}
